<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArArgumentBuilder Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArArgumentBuilder.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArArgumentBuilder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArArgumentBuilder Class Reference<div class="ingroups"><a class="el" href="group__ImportantClasses.html">Important Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>This class is to build arguments for things that require argc and argv.  
 <a href="classArArgumentBuilder.html#details">More...</a></p>

<p><code>#include &lt;ArArgumentBuilder.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0dd0beff26b51095f6cdc2fd85c024d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a0dd0beff26b51095f6cdc2fd85c024d2">add</a> (const char *str,...)</td></tr>
<tr class="memdesc:a0dd0beff26b51095f6cdc2fd85c024d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given string, with varargs, separates if there are spaces.  <a href="#a0dd0beff26b51095f6cdc2fd85c024d2">More...</a><br /></td></tr>
<tr class="separator:a0dd0beff26b51095f6cdc2fd85c024d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab55a9e9cd820fb6a1d9e6515bdecef7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#aab55a9e9cd820fb6a1d9e6515bdecef7">addPlain</a> (const char *str, int position=-1)</td></tr>
<tr class="memdesc:aab55a9e9cd820fb6a1d9e6515bdecef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given string, without varargs (wrapper for java)  <a href="#aab55a9e9cd820fb6a1d9e6515bdecef7">More...</a><br /></td></tr>
<tr class="separator:aab55a9e9cd820fb6a1d9e6515bdecef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9347ef4f8173baeaed8c095bf5df7177"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a9347ef4f8173baeaed8c095bf5df7177">addPlainAsIs</a> (const char *str, int position=-1)</td></tr>
<tr class="memdesc:a9347ef4f8173baeaed8c095bf5df7177"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given string, without varargs and without touching the str.  <a href="#a9347ef4f8173baeaed8c095bf5df7177">More...</a><br /></td></tr>
<tr class="separator:a9347ef4f8173baeaed8c095bf5df7177"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58499b763c30590d3194ffa2988a4b88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a58499b763c30590d3194ffa2988a4b88">addStrings</a> (char **argv, int argc, int position=-1)</td></tr>
<tr class="memdesc:a58499b763c30590d3194ffa2988a4b88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given string thats divided.  <a href="#a58499b763c30590d3194ffa2988a4b88">More...</a><br /></td></tr>
<tr class="separator:a58499b763c30590d3194ffa2988a4b88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ddf583e6eb139c9df2cc1e1a3aa7686"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a7ddf583e6eb139c9df2cc1e1a3aa7686">addStrings</a> (int argc, char **argv, int position=-1)</td></tr>
<tr class="memdesc:a7ddf583e6eb139c9df2cc1e1a3aa7686"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given string thats divided.  <a href="#a7ddf583e6eb139c9df2cc1e1a3aa7686">More...</a><br /></td></tr>
<tr class="separator:a7ddf583e6eb139c9df2cc1e1a3aa7686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7720aedea0d4126ef4084e19a9748fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ab7720aedea0d4126ef4084e19a9748fc">addStringsAsIs</a> (int argc, char **argv, int position=-1)</td></tr>
<tr class="memdesc:ab7720aedea0d4126ef4084e19a9748fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given string thats divided (but doesn't touch the strings)  <a href="#ab7720aedea0d4126ef4084e19a9748fc">More...</a><br /></td></tr>
<tr class="separator:ab7720aedea0d4126ef4084e19a9748fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad73480bd86aad72418fb786494cda06f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ad73480bd86aad72418fb786494cda06f">ArArgumentBuilder</a> (size_t argvLen=512, char extraSpaceChar= '\0', bool ignoreNormalSpaces=false, bool isPreCompressQuotes=false)</td></tr>
<tr class="memdesc:ad73480bd86aad72418fb786494cda06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#ad73480bd86aad72418fb786494cda06f">More...</a><br /></td></tr>
<tr class="separator:ad73480bd86aad72418fb786494cda06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a116e2a878b9fb1197af611b9acfc262b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a116e2a878b9fb1197af611b9acfc262b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a116e2a878b9fb1197af611b9acfc262b">ArArgumentBuilder</a> (const <a class="el" href="classArArgumentBuilder.html">ArArgumentBuilder</a> &amp;builder)</td></tr>
<tr class="memdesc:a116e2a878b9fb1197af611b9acfc262b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy Constructor. <br /></td></tr>
<tr class="separator:a116e2a878b9fb1197af611b9acfc262b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0640e440c2258dff602fb7e0e422afa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0640e440c2258dff602fb7e0e422afa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ad0640e440c2258dff602fb7e0e422afa">compressQuoted</a> (bool stripQuotationMarks=false)</td></tr>
<tr class="memdesc:ad0640e440c2258dff602fb7e0e422afa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines quoted arguments into one. <br /></td></tr>
<tr class="separator:ad0640e440c2258dff602fb7e0e422afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54398df165b38457a14168bfb5285645"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54398df165b38457a14168bfb5285645"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a54398df165b38457a14168bfb5285645">getArg</a> (size_t whichArg) const </td></tr>
<tr class="memdesc:a54398df165b38457a14168bfb5285645"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a specific argument as a string. <br /></td></tr>
<tr class="separator:a54398df165b38457a14168bfb5285645"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5993293a9bfee689aca789a217003a62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a5993293a9bfee689aca789a217003a62">getArgBool</a> (size_t whichArg, bool *ok=NULL) const </td></tr>
<tr class="memdesc:a5993293a9bfee689aca789a217003a62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of an argument as a boolean.  <a href="#a5993293a9bfee689aca789a217003a62">More...</a><br /></td></tr>
<tr class="separator:a5993293a9bfee689aca789a217003a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42fb3acfb7ebbd419a888fff9ebbb147"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42fb3acfb7ebbd419a888fff9ebbb147"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a42fb3acfb7ebbd419a888fff9ebbb147">getArgc</a> (void) const </td></tr>
<tr class="memdesc:a42fb3acfb7ebbd419a888fff9ebbb147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the argc. <br /></td></tr>
<tr class="separator:a42fb3acfb7ebbd419a888fff9ebbb147"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b21b326129b44488dd3474be5955c80"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a6b21b326129b44488dd3474be5955c80">getArgDouble</a> (size_t whichArg, bool *ok=NULL) const </td></tr>
<tr class="memdesc:a6b21b326129b44488dd3474be5955c80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of an argument as a double.  <a href="#a6b21b326129b44488dd3474be5955c80">More...</a><br /></td></tr>
<tr class="separator:a6b21b326129b44488dd3474be5955c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81b40235c0ed25ac9f4c9c2d707850ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a81b40235c0ed25ac9f4c9c2d707850ae">getArgInt</a> (size_t whichArg, bool *ok=NULL, bool forceHex=false) const </td></tr>
<tr class="memdesc:a81b40235c0ed25ac9f4c9c2d707850ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of an argument as an integer.  <a href="#a81b40235c0ed25ac9f4c9c2d707850ae">More...</a><br /></td></tr>
<tr class="separator:a81b40235c0ed25ac9f4c9c2d707850ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae540216773d7d4e27d9a926270456be4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ae540216773d7d4e27d9a926270456be4">getArgLongLongInt</a> (size_t whichArg, bool *ok=NULL) const </td></tr>
<tr class="memdesc:ae540216773d7d4e27d9a926270456be4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of an argument as a long long integer.  <a href="#ae540216773d7d4e27d9a926270456be4">More...</a><br /></td></tr>
<tr class="separator:ae540216773d7d4e27d9a926270456be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a420159406e9932f9a170f00afffee8b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a420159406e9932f9a170f00afffee8b1"></a>
char **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a420159406e9932f9a170f00afffee8b1">getArgv</a> (void) const </td></tr>
<tr class="memdesc:a420159406e9932f9a170f00afffee8b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the argv. <br /></td></tr>
<tr class="separator:a420159406e9932f9a170f00afffee8b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a441030cb05152f3f77ea2ecb062cb0cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a441030cb05152f3f77ea2ecb062cb0cd"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a441030cb05152f3f77ea2ecb062cb0cd">getExtraString</a> (void) const </td></tr>
<tr class="memdesc:a441030cb05152f3f77ea2ecb062cb0cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the extra string of the input, used differently by different things. <br /></td></tr>
<tr class="separator:a441030cb05152f3f77ea2ecb062cb0cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d0f4e9a6510a02877c59492229d9aaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d0f4e9a6510a02877c59492229d9aaa"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a3d0f4e9a6510a02877c59492229d9aaa">getFullString</a> (void) const </td></tr>
<tr class="memdesc:a3d0f4e9a6510a02877c59492229d9aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the original string of the input. <br /></td></tr>
<tr class="separator:a3d0f4e9a6510a02877c59492229d9aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad37d23fc43340235b85e74d2820e0546"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad37d23fc43340235b85e74d2820e0546"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ad37d23fc43340235b85e74d2820e0546">isArgBool</a> (size_t whichArg) const </td></tr>
<tr class="memdesc:ad37d23fc43340235b85e74d2820e0546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if an argument is a bool. <br /></td></tr>
<tr class="separator:ad37d23fc43340235b85e74d2820e0546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1de9163bc9e3fa60ba6de3bf14c1eef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1de9163bc9e3fa60ba6de3bf14c1eef"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ad1de9163bc9e3fa60ba6de3bf14c1eef">isArgDouble</a> (size_t whichArg) const </td></tr>
<tr class="memdesc:ad1de9163bc9e3fa60ba6de3bf14c1eef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if an argument is a double. <br /></td></tr>
<tr class="separator:ad1de9163bc9e3fa60ba6de3bf14c1eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85211fd03729be71fa74b7587b68fe4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ac85211fd03729be71fa74b7587b68fe4">isArgInt</a> (size_t whichArg, bool forceHex=false) const </td></tr>
<tr class="memdesc:ac85211fd03729be71fa74b7587b68fe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if an argument is an int.  <a href="#ac85211fd03729be71fa74b7587b68fe4">More...</a><br /></td></tr>
<tr class="separator:ac85211fd03729be71fa74b7587b68fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50673311f74164148eb98a2a23f984e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50673311f74164148eb98a2a23f984e0"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a50673311f74164148eb98a2a23f984e0">isArgLongLongInt</a> (size_t whichArg) const </td></tr>
<tr class="memdesc:a50673311f74164148eb98a2a23f984e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if an argument is a long long int. <br /></td></tr>
<tr class="separator:a50673311f74164148eb98a2a23f984e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae421cb185e8efc121e7c54efd03f99f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae421cb185e8efc121e7c54efd03f99f3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ae421cb185e8efc121e7c54efd03f99f3">log</a> (void) const </td></tr>
<tr class="memdesc:ae421cb185e8efc121e7c54efd03f99f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints out the arguments. <br /></td></tr>
<tr class="separator:ae421cb185e8efc121e7c54efd03f99f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afef215a018bb13c8754981181deb594f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afef215a018bb13c8754981181deb594f"></a>
<a class="el" href="classArArgumentBuilder.html">ArArgumentBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classArArgumentBuilder.html">ArArgumentBuilder</a> &amp;builder)</td></tr>
<tr class="separator:afef215a018bb13c8754981181deb594f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dbe5a174056a599f9a1cce4a43daa89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dbe5a174056a599f9a1cce4a43daa89"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a2dbe5a174056a599f9a1cce4a43daa89">removeArg</a> (size_t which, bool isRebuildFullString=false)</td></tr>
<tr class="memdesc:a2dbe5a174056a599f9a1cce4a43daa89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a particular arg, you MUST finish adding before you can remove. <br /></td></tr>
<tr class="separator:a2dbe5a174056a599f9a1cce4a43daa89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af19e25653c809803790be6de4f1f2bdd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af19e25653c809803790be6de4f1f2bdd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#af19e25653c809803790be6de4f1f2bdd">setExtraString</a> (const char *str)</td></tr>
<tr class="memdesc:af19e25653c809803790be6de4f1f2bdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the extra string of the input, used differently by different things. <br /></td></tr>
<tr class="separator:af19e25653c809803790be6de4f1f2bdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5e8ccfea6e31f93869c4cfc0af833a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5e8ccfea6e31f93869c4cfc0af833a3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ad5e8ccfea6e31f93869c4cfc0af833a3">setFullString</a> (const char *str)</td></tr>
<tr class="memdesc:ad5e8ccfea6e31f93869c4cfc0af833a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the full string (this is so you can have a more raw full string) <br /></td></tr>
<tr class="separator:ad5e8ccfea6e31f93869c4cfc0af833a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107e88b063c7ef6087b5889d785e996a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a107e88b063c7ef6087b5889d785e996a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a107e88b063c7ef6087b5889d785e996a">setQuiet</a> (bool isQuiet)</td></tr>
<tr class="memdesc:a107e88b063c7ef6087b5889d785e996a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn on this flag to reduce the number of verbose log messages. <br /></td></tr>
<tr class="separator:a107e88b063c7ef6087b5889d785e996a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f6ae33d714449ac2baf733cad9f624"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08f6ae33d714449ac2baf733cad9f624"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a08f6ae33d714449ac2baf733cad9f624">~ArArgumentBuilder</a> ()</td></tr>
<tr class="memdesc:a08f6ae33d714449ac2baf733cad9f624"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a08f6ae33d714449ac2baf733cad9f624"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:afd4245098081d1f1a9bf4ee785928a14"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd4245098081d1f1a9bf4ee785928a14"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#afd4245098081d1f1a9bf4ee785928a14">ArgSeparatorType</a> { <b>SPACE</b> = 1, 
<b>SPECIAL</b> = SPACE &lt;&lt; 1, 
<b>ANY_SPACE</b> = SPACE | SPECIAL, 
<b>QUOTE</b> = SPECIAL &lt;&lt; 1
 }<tr class="memdesc:afd4245098081d1f1a9bf4ee785928a14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Characters that may be used to separate arguments; bitwise flags so QUOTE can be combined with spaces. <br /></td></tr>
</td></tr>
<tr class="separator:afd4245098081d1f1a9bf4ee785928a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7c524856f2310d90570bceb950ead28a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c524856f2310d90570bceb950ead28a"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>getArgvLen</b> (void) const </td></tr>
<tr class="separator:a7c524856f2310d90570bceb950ead28a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5a98c6f31a25f62460d7dc65d6a281b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ab5a98c6f31a25f62460d7dc65d6a281b">internalAdd</a> (const char *str, int position=-1)</td></tr>
<tr class="memdesc:ab5a98c6f31a25f62460d7dc65d6a281b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function that adds a string starting at some given space.  <a href="#ab5a98c6f31a25f62460d7dc65d6a281b">More...</a><br /></td></tr>
<tr class="separator:ab5a98c6f31a25f62460d7dc65d6a281b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b1f766a805c4d9f4ed8bc4658874713"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b1f766a805c4d9f4ed8bc4658874713"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>internalAddAsIs</b> (const char *str, int position=-1)</td></tr>
<tr class="separator:a1b1f766a805c4d9f4ed8bc4658874713"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8b9cb576c527bd5765a96d78047d932"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ab8b9cb576c527bd5765a96d78047d932">isEndArg</a> (const char *buf, int len, int &amp;indexInOut, int endArgFlags)</td></tr>
<tr class="memdesc:ab8b9cb576c527bd5765a96d78047d932"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the current buffer position marks the end of an argument.  <a href="#ab8b9cb576c527bd5765a96d78047d932">More...</a><br /></td></tr>
<tr class="separator:ab8b9cb576c527bd5765a96d78047d932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab009accd84288f4504e0b02a2032ab77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab009accd84288f4504e0b02a2032ab77"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ab009accd84288f4504e0b02a2032ab77">isSpace</a> (char c)</td></tr>
<tr class="memdesc:ab009accd84288f4504e0b02a2032ab77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the specified character is an acceptable space (either normal or extra) <br /></td></tr>
<tr class="separator:ab009accd84288f4504e0b02a2032ab77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b9aeb44ca48152499cc3e4c3fdcd34"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#ae0b9aeb44ca48152499cc3e4c3fdcd34">isStartArg</a> (const char *buf, int len, int index, int *endArgFlagsOut)</td></tr>
<tr class="memdesc:ae0b9aeb44ca48152499cc3e4c3fdcd34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the current buffer position marks the start of an argument.  <a href="#ae0b9aeb44ca48152499cc3e4c3fdcd34">More...</a><br /></td></tr>
<tr class="separator:ae0b9aeb44ca48152499cc3e4c3fdcd34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c6bf72e73af194fc683b2eedd0f62be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c6bf72e73af194fc683b2eedd0f62be"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>rebuildFullString</b> ()</td></tr>
<tr class="separator:a6c6bf72e73af194fc683b2eedd0f62be"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a90d6a3093e46ff1ab0ac2ef0fda27e0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90d6a3093e46ff1ab0ac2ef0fda27e0e"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>myArgc</b></td></tr>
<tr class="separator:a90d6a3093e46ff1ab0ac2ef0fda27e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48c6d28b57a1d6c8d4750c23075763e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48c6d28b57a1d6c8d4750c23075763e5"></a>
char **&#160;</td><td class="memItemRight" valign="bottom"><b>myArgv</b></td></tr>
<tr class="separator:a48c6d28b57a1d6c8d4750c23075763e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83120143347e3dbdb2891a37c75b8091"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83120143347e3dbdb2891a37c75b8091"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>myArgvLen</b></td></tr>
<tr class="separator:a83120143347e3dbdb2891a37c75b8091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64ee790e8fb72cd338be163b4f2552ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64ee790e8fb72cd338be163b4f2552ae"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>myExtraSpace</b></td></tr>
<tr class="separator:a64ee790e8fb72cd338be163b4f2552ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0eb00c881078c875b3ccab915c9c097"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0eb00c881078c875b3ccab915c9c097"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>myExtraString</b></td></tr>
<tr class="separator:ae0eb00c881078c875b3ccab915c9c097"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e078028b3a45e9a4667ec0ac3528975"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e078028b3a45e9a4667ec0ac3528975"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myFirstAdd</b></td></tr>
<tr class="separator:a0e078028b3a45e9a4667ec0ac3528975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28ac9c2b7e640c921e8e7b7b24c23a81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28ac9c2b7e640c921e8e7b7b24c23a81"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>myFullString</b></td></tr>
<tr class="separator:a28ac9c2b7e640c921e8e7b7b24c23a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a391bd1670b99a96b62d5744c9a572a12"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a391bd1670b99a96b62d5744c9a572a12"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myIgnoreNormalSpaces</b></td></tr>
<tr class="separator:a391bd1670b99a96b62d5744c9a572a12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b424439a351c2768ee59e00457e4837"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b424439a351c2768ee59e00457e4837"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArArgumentBuilder.html#a9b424439a351c2768ee59e00457e4837">myIsPreCompressQuotes</a></td></tr>
<tr class="memdesc:a9b424439a351c2768ee59e00457e4837"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to treat double-quotes as arg delimiters (preserving spaces within) <br /></td></tr>
<tr class="separator:a9b424439a351c2768ee59e00457e4837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6baa4830ff13e97d5da607021d739e6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6baa4830ff13e97d5da607021d739e6b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myIsQuiet</b></td></tr>
<tr class="separator:a6baa4830ff13e97d5da607021d739e6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9228415ffc95ae78a68f738b3f70002c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9228415ffc95ae78a68f738b3f70002c"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>myOrigArgc</b></td></tr>
<tr class="separator:a9228415ffc95ae78a68f738b3f70002c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class is to build arguments for things that require argc and argv. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad73480bd86aad72418fb786494cda06f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArArgumentBuilder::ArArgumentBuilder </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>argvLen</em> = <code>512</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>extraSpaceChar</em> = <code>'\0'</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ignoreNormalSpaces</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>isPreCompressQuotes</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">argvLen</td><td>the largest number of arguments to parse </td></tr>
    <tr><td class="paramname">extraSpaceChar</td><td>if not NULL, then this character will also be used to break up arguments (in addition to whitespace) </td></tr>
    <tr><td class="paramname">ignoreNormalSpaces</td><td>a bool set to true if only the extraSpaceChar should be used to separate arguments </td></tr>
    <tr><td class="paramname">isPreCompressQuotes</td><td>a bool set to true if strings enclosed in double-quotes should be parsed as a single argument (such strings must be surrounded by spaces). This is roughly equivalent to calling ArArgumentBuilder::compressQuoted(false) on the resulting builder, but is more efficient and handles embedded spaces better. The default value is false and preserves the original behavior where each argument is a space-separated alphanumeric string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0dd0beff26b51095f6cdc2fd85c024d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArArgumentBuilder::add </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the given string, with varargs, separates if there are spaces. </p>
<p><b>Java and Python Wrappers:</b> Not available </p>

</div>
</div>
<a class="anchor" id="aab55a9e9cd820fb6a1d9e6515bdecef7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArArgumentBuilder::addPlain </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the given string, without varargs (wrapper for java) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string to add</td></tr>
    <tr><td class="paramname">position</td><td>the position to add the string at, a position less than 0 means to add at the end, if this number is greater than how many positions exist then it will also be added at the end </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9347ef4f8173baeaed8c095bf5df7177"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArArgumentBuilder::addPlainAsIs </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the given string, without varargs and without touching the str. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string to add</td></tr>
    <tr><td class="paramname">position</td><td>the position to add the string at, a position less than 0 means to add at the end, if this number is greater than how many positions exist then it will also be added at the end </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a58499b763c30590d3194ffa2988a4b88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArArgumentBuilder::addStrings </td>
          <td>(</td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the given string thats divided. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>how many arguments to add </td></tr>
    <tr><td class="paramname">argv</td><td>the strings to add </td></tr>
    <tr><td class="paramname">position</td><td>the position to add the string at, a position less than 0 means to add at the end, if this number is greater than how many positions exist then it will also be added at the end </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7ddf583e6eb139c9df2cc1e1a3aa7686"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArArgumentBuilder::addStrings </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the given string thats divided. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>how many arguments to add </td></tr>
    <tr><td class="paramname">argv</td><td>the strings to add </td></tr>
    <tr><td class="paramname">position</td><td>the position to add the string at, a position less than 0 means to add at the end, if this number is greater than how many positions exist then it will also be added at the end </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab7720aedea0d4126ef4084e19a9748fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArArgumentBuilder::addStringsAsIs </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the given string thats divided (but doesn't touch the strings) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>how many arguments to add </td></tr>
    <tr><td class="paramname">argv</td><td>the strings to add </td></tr>
    <tr><td class="paramname">position</td><td>the position to add the string at, a position less than 0 means to add at the end, if this number is greater than how many positions exist then it will also be added at the end </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5993293a9bfee689aca789a217003a62"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArArgumentBuilder::getArgBool </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>whichArg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>ok</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the value of an argument as a boolean. </p>
<p>Valid boolean values are "true" and "false", and "1" and "0". There are two ways to to verify that the specified argument is a bool. Either call <a class="el" href="classArArgumentBuilder.html#ad37d23fc43340235b85e74d2820e0546" title="Sees if an argument is a bool. ">isArgBool()</a> before calling this method, or specify a non-NULL ok parameter value. The latter is somewhat more efficient since the argument string is checked only once.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">whichArg</td><td>the size_t index of the arg to retrieve; must be &gt;= 0 and less than <a class="el" href="classArArgumentBuilder.html#a42fb3acfb7ebbd419a888fff9ebbb147" title="Gets the argc. ">getArgc()</a> </td></tr>
    <tr><td class="paramname">ok</td><td>an optional pointer to a bool that will be set to true if the arg was successfully retrieved or to false if an error occurred </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool the retrieved argument value; valid only if ok or isArgBool is true </dd></dl>

</div>
</div>
<a class="anchor" id="a6b21b326129b44488dd3474be5955c80"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ArArgumentBuilder::getArgDouble </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>whichArg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>ok</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the value of an argument as a double. </p>
<p>There are two ways to to verify that the specified argument is a double. Either call <a class="el" href="classArArgumentBuilder.html#ad1de9163bc9e3fa60ba6de3bf14c1eef" title="Sees if an argument is a double. ">isArgDouble()</a> before calling this method, or specify a non-NULL ok parameter value. The latter is somewhat more efficient because the digit status of each character is checked only once.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">whichArg</td><td>the size_t index of the arg to retrieve; must be &gt;= 0 and less than <a class="el" href="classArArgumentBuilder.html#a42fb3acfb7ebbd419a888fff9ebbb147" title="Gets the argc. ">getArgc()</a> </td></tr>
    <tr><td class="paramname">ok</td><td>an optional pointer to a bool that will be set to true if the arg was successfully retrieved or to false if an error occurred </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>double the retrieved argument value; valid only if ok or isArgDouble is true </dd></dl>

</div>
</div>
<a class="anchor" id="a81b40235c0ed25ac9f4c9c2d707850ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArArgumentBuilder::getArgInt </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>whichArg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>ok</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>forceHex</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the value of an argument as an integer. </p>
<p>There are two ways to to verify that the specified argument is an integer. Either call <a class="el" href="classArArgumentBuilder.html#ac85211fd03729be71fa74b7587b68fe4" title="Sees if an argument is an int. ">isArgInt()</a> before calling this method, or specify a non-NULL ok parameter value. The latter is somewhat more efficient because the digit status of each character is checked only once.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">whichArg</td><td>the size_t index of the arg to retrieve; must be &gt;= 0 and less than <a class="el" href="classArArgumentBuilder.html#a42fb3acfb7ebbd419a888fff9ebbb147" title="Gets the argc. ">getArgc()</a> </td></tr>
    <tr><td class="paramname">ok</td><td>an optional pointer to a bool that will be set to true if the arg was successfully retrieved or to false if an error occurred </td></tr>
    <tr><td class="paramname">forceHex</td><td>if true this makes it find the int in base 16 instead of 10 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int the retrieved argument value; valid only if ok or isArgInt is true </dd></dl>

</div>
</div>
<a class="anchor" id="ae540216773d7d4e27d9a926270456be4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArArgumentBuilder::getArgLongLongInt </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>whichArg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>ok</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the value of an argument as a long long integer. </p>
<p>There are two ways to to verify that the specified argument is an integer. Either call <a class="el" href="classArArgumentBuilder.html#ac85211fd03729be71fa74b7587b68fe4" title="Sees if an argument is an int. ">isArgInt()</a> before calling this method, or specify a non-NULL ok parameter value. The latter is somewhat more efficient because the digit status of each character is checked only once.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">whichArg</td><td>the size_t index of the arg to retrieve; must be &gt;= 0 and less than <a class="el" href="classArArgumentBuilder.html#a42fb3acfb7ebbd419a888fff9ebbb147" title="Gets the argc. ">getArgc()</a> </td></tr>
    <tr><td class="paramname">ok</td><td>an optional pointer to a bool that will be set to true if the arg was successfully retrieved or to false if an error occurred </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int the retrieved argument value; valid only if ok or isArgInt is true </dd></dl>

</div>
</div>
<a class="anchor" id="ab5a98c6f31a25f62460d7dc65d6a281b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArArgumentBuilder::internalAdd </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal function that adds a string starting at some given space. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string to add</td></tr>
    <tr><td class="paramname">position</td><td>the position to add the string at, a position less than 0 means to add at the end, if this number is greater than how many positions exist then it will also be added at the end </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac85211fd03729be71fa74b7587b68fe4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArArgumentBuilder::isArgInt </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>whichArg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>forceHex</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sees if an argument is an int. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">whichArg</td><td>the size_t index of the arg to retrieve; must be &gt;= 0 and less than <a class="el" href="classArArgumentBuilder.html#a42fb3acfb7ebbd419a888fff9ebbb147" title="Gets the argc. ">getArgc()</a> </td></tr>
    <tr><td class="paramname">forceHex</td><td>if true this makes it find the int in base 16 instead of 10 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab8b9cb576c527bd5765a96d78047d932"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArArgumentBuilder::isEndArg </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>indexInOut</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>endArgFlags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determines whether the current buffer position marks the end of an argument. </p>
<p>This method should only be called when an argument is currently being parsed (i.e. isStartArg returned true). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>the char * buffer that is being parsed; must be non-NULL </td></tr>
    <tr><td class="paramname">len</td><td>the maximum number of characters in the buffer </td></tr>
    <tr><td class="paramname">indexInOut</td><td>the input/output int buffer position of the character to be tested; if the argument ends with a quote-space, then the index will be incremented to mark the space; otherwise, it will remain unchanged </td></tr>
    <tr><td class="paramname">endArgFlags</td><td>an int that indicates which separators mark the end of the argument. If quotes are being pre-processed, and the current argument started with space-quote, then the argument must end with a quote-space. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae0b9aeb44ca48152499cc3e4c3fdcd34"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArArgumentBuilder::isStartArg </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>endArgFlagsOut</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determines whether the current buffer position marks the start of an argument. </p>
<p>This method should only be called when an argument is not currently being parsed (i.e. the previous character was a space). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>the char * buffer that is being parsed; must be non-NULL </td></tr>
    <tr><td class="paramname">len</td><td>the maximum number of characters in the buffer </td></tr>
    <tr><td class="paramname">index</td><td>the int buffer position of the character to be tested </td></tr>
    <tr><td class="paramname">endArgFlagsOut</td><td>a pointer to an output int that will indicate which separators will mark the end of the argument. If quotes are being pre-processed, and the current argument starts with space-quote, then the argument must end with a quote-space. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArArgumentBuilder.h</li>
<li>ArArgumentBuilder.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArArgumentBuilder.html">ArArgumentBuilder</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
